//此文件为项目主入口文件
let express = require('express')
let bodyParser = require('body-parser')
let router = require('./router.js')
let session = require('express-session')
//创建应用
let app = express()

//添加监听端口
app.listen('3000', () => {
    console.log('127.0.0.1:3000')
})
//由于要是使用ejs模板渲染引擎所以设置默认引擎
app.set('view engine', 'ejs')
//指定ejs模板文件的指定路径
app.set('views', __dirname + '/views')
//托管静态资源
app.use('/assets', express.static('./assets'))
app.use('/node_modules', express.static('./node_modules'))
app.use('/uploads', express.static('./uploads'))
//注册路由中间键
app.use(session({
    secret: 'aabbcceedd',
    resave: false,
    saveUninitialized: false
}))
//在路由中间键中判断是否有合理的session数据
app.use(function (req, res, next) {
    // 如果已经登陆了，或者请求登陆页，或者请求前台页面，都不需要登陆，直接next
    //  /   /list  /detail
    //  /admin  /admin/posts...
    // console.log(req.session)
    if (req.session.nima && req.session.nima == 'nima' || req.url == '/login' || req.url.indexOf('/admin') == -1) {
        next()
    } else {
        // 重定向
        res.redirect('/login')
    }
})
//注册解析表单提交数据解析请求头的中间键
app.use(bodyParser.urlencoded({
    extended: false
}))
//注册中间键
app.use(router)